package com.itshi.demo1;

import java.util.Random;
import java.util.Scanner;

public class Demo1 {
    /*
    * 需求：在编程竞赛中，有6个评委为参赛的选手打分，分数为0-100的整数分。
        选手的最后得分为：去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。
思路：
    1.定义一个数组，用动态初始化完成数组元素的初始化，长度为6
    2.键盘录入评委分数
    3.由于是6个评委打分，所以，接收评委分数的操作，用循环
    4.求出数组最大值
    5.求出数组最小值
    6.求出数组总和
    7.按照计算规则进行计算得到平均分
    8.输出平均分
    * */
    public static void main(String[] args) {
        int[] arr = new int[6];
        Scanner sc = new Scanner(System.in);
        Random r = new Random();
        int sum = 0;

        for (int i = 0; i < arr.length; i++) {
           //System.out.println("请输入第"+(i+1)+"个评委的分");
           // arr[i] = sc.nextInt();
            arr[i] =r.nextInt(101);
            if(arr[i]>=0&&arr[i]<=100);else{
                System.out.println("输入错误；请重新输入0-100之间的数：");
                i--;
            }
        }
        int min = arr[0];
        int max = arr[0];
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        for (int i = 1; i < arr.length; i++) {
            if(max<arr[i])
                max = arr[i];
            if(min > arr[i])
                min = arr[i];
        }
        int fen = (sum-min-max)/(arr.length-2);
        System.out.println("除去一个最高分和一个最低分，其平均分为："+fen);
    }
}
/*
 int[] arr = {19, 28, 37, 46, 50};//静态初始化一个数组
        int i = 0;
        int a = arr.length-1;//把最大索引值赋给a
        int tump = 0; //创建一个临时变量
        for (i = 0; i < a; i++,a--) {
            tump = arr[i];   //使用临时变量来达到交换数值
            arr[i] = arr[a];
            arr[a] = tump;
        }
        for(i=0;i<arr.length;i++){   //循环打印出交换后的数组里面的各个值
            System.out.println(arr[i]);
        }


            //System.out.println("Hello World" );
        }
 */